/*
1. let const 模板字符串
2. 箭头函数 
3. 对象、属性的简写 
4. 模板字符串 
5. Promise

*/

// 1. let const的使用     let和 var是一样的用来定义变量


//   let是一个块作用域
//   let a=123;  
  
    // if(true){
    //     let a=123;
    // }
    // console.log(a);

/*常量
    const PI=3.14159;

    PI=3;

    console.log(PI);
 */

    
/*模板字符串
    
    var name='张三';
    var age=20;
    console.log(name+'的年龄是'+age);

  
    var name='张三';
    var age=20;
    console.log(`${name}的年龄是${age}`);
*/




    // /*方法的简写 属性的简写

    // var name='zhangsan';
    // var app={
    //     "name":name
    // }
    // console.log(app.name);

    //  属性的简写
    // var name='zhangsan';
    // var app={
    //     name
    // }
    // console.log(app.name);


// 方法的简写
    // var name='zhangsan';
    // var app={
    //     name,
    //     run(){
    //         console.log(`${this.name}在跑步`);
    //     }
    // }
    // app.run();

    
// 箭头函数   this指向上下文
//  setTimeout(function (){
//     console.log('执行',this);
//  },1000)

//  setTimeout(()=>{
//      console.log('执行2',this);
//  },1000)

//resolve 成功回调， reject 失败的回调
// new Promise(function(resolve,reject){
//     setTimeout(function(){
//         var name = "xiaoming";
//         resolve(name);
//     })
// }).then(function(data){
//     console.log(data);
// })

function getDate(resolve,reject){
    setTimeout(function(){
        var name = "xiaoming";
        resolve(name);
    })
}

var p = new Promise(getDate);
p.then((data)=>{
    console.log(data);
})